﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Entities;
using System.Linq.Expressions;

namespace Datalayer
{
    public interface IQueryMgr : IDisposable
    {

        #region BaoTroXaHoi

        List<BaoTroXaHoi> BTXH_GetAllBaoTroXaHoi();
        BaoTroXaHoi BTXH_GetBaoTroXaHoiByID(byte BtxhID);
        #endregion

        #region CapHoc
        List<CapHoc> CH_GetAllCapHoc();
        CapHoc CH_GetCapHocByID(int ChID);
        #endregion

        #region CheDoDieuDuong

        List<CheDoDieuDuong> CDDD_GetAllCheDoDieuDuong();
        CheDoDieuDuong CDDD_GetCheDoDieuDuongByID(int CdddID);
        #endregion

        #region ChinhSach

        List<ChinhSach> CS_GetAllChinhSach();
        ChinhSach CDDD_GetChinhSachByID(int CsID);
        #endregion

        #region ChiTiet_ChiTieuHGD

        List<ChiTiet_ChiTieuHGD> CTCTHGD_GetAllChiTiet_ChiTieuHGD();
        List<ChiTiet_ChiTieuHGD> CTCTHGD_GetChiTiet_ChiTieuHGDByIDHoNgheo(string IDHoNGheo);
        ChiTiet_ChiTieuHGD CTCT_GetCTCTByID(int pCtct);
        ChiTiet_ChiTieuHGD CTCT_GetCTCTByIDandIDHN(int pCtct, string IDHoNgheo);
        void Ctct_NewChiTiet_ChiTieuHGD(ChiTiet_ChiTieuHGD pCtct);
        void Ctct_EditChiTiet_ChiTieuHGD(ChiTiet_ChiTieuHGD pCtct);
        void Ctct_DelOrResChiTiet_ChiTieuHGD(int pCtctID);
        #endregion

        #region ChiTiet_DieuDuong

        List<ChiTiet_DieuDuong> CTDD_GetAllChiTiet_DieuDuong();
        ChiTiet_DieuDuong CTDD_GetChiTiet_DieuDuongByID(int pCtdd);
        void Ctdd_NewChiTiet_DieuDuong(ChiTiet_DieuDuong pCtdd);
        void Ctct_EditChiTiet_DieuDuong(ChiTiet_DieuDuong pCtdd);
        void Ctdd_DelOrResChiTiet_DieuDuong(int pCtddID);
        #endregion

        #region ChiTiet_GiaiPhapHoTro

         List<ChiTiet_GiaiPhapHoTro> CTGPHT_GetAllChiTiet_GiaiPhapHoTro();
         ChiTiet_GiaiPhapHoTro CTGPHT_GetChiTiet_GiaiPhapHoTroByID(int pCtgpht);
         ChiTiet_GiaiPhapHoTro CTGPHT_GetChiTiet_GiaiPhapHoTroByIDGpandIDHongheo(int idGiaiPhap, string IDHongheo);
         void Ctgpht_NewChiTiet_GiaiPhapHoTro(ChiTiet_GiaiPhapHoTro pCtgpht);
         void Ctgpht_EditChiTiet_GiaiPhapHoTro(ChiTiet_GiaiPhapHoTro pCtgpht);
         void Ctgpht_DelOrResChiTiet_GiaiPhapHoTro(int pCtgpht);
        #endregion

        #region ChiTiet_NguyenNhanThuNhap

         List<ChiTiet_NguyenNhanThuNhap> CTNNTN_GetAllChiTiet_NguyenNhanThuNhap();
         List<ChiTiet_NguyenNhanThuNhap> CTNNTN_GetChiTiet_NguyenNhanThuNhapByIDHoNgheo(string IDHoNgheo);
         ChiTiet_NguyenNhanThuNhap CTNNTN_GetChiTiet_NguyenNhanThuNhapByID(int pCtnntn);
         ChiTiet_NguyenNhanThuNhap CTNNTN_GetChiTiet_NguyenNhanThuNhapByIDAndIDHN(int pCtnntn, string IDHoNgheo);
         void Ctnntn_NewChiTiet_NguyenNhanThuNhap(ChiTiet_NguyenNhanThuNhap pCtnntn);
         void Ctnntn_EditChiTiet_NguyenNhanThuNhap(ChiTiet_NguyenNhanThuNhap pCtnntn);
         void Ctnntn_DelOrResChiTiet_NguyenNhanThuNhap(int pCtnntn);
         void Ctnntn_Delete_ChiTiet_NguyenNhanThuNhapByHoNgheo(string IDHongheo);
        #endregion

        #region ChiTiet_NguyenVongKhacPhuc

         List<ChiTiet_NguyenVongKhacPhuc> CTNVKP_GetAllChiTiet_NguyenVongKhacPhuc();
         List<ChiTiet_NguyenVongKhacPhuc> CTNVKP_GetChiTiet_NguyenVongKhacPhucByIDHoNgheo(string IDHoNgheo);
         ChiTiet_NguyenVongKhacPhuc CTNVKP_GetChiTiet_NguyenVongKhacPhucByID(int pCtnvkp);
         ChiTiet_NguyenVongKhacPhuc CTNVKP_GetChiTiet_NguyenVongKhacPhucByIDAndIDHN(int pCtnvkp, string IDHoNgheo);
         void Ctnvkp_NewChiTiet_NguyenVongKhacPhuc(ChiTiet_NguyenVongKhacPhuc pCtnvkp);
         void Ctnvkp_EditChiTiet_NguyenVongKhacPhuc(ChiTiet_NguyenVongKhacPhuc pCtnvkp);
         void Ctnvkp_DelOrResChiTiet_NguyenVongKhacPhuc(int pCtnvkp);
         void Ctnvkp_DeleteChiTiet_NguyenVongKhacPhucByHoNgheo(string IDHoNgheo);
        #endregion

        #region ChiTiet_TaiSanHGD

         List<ChiTiet_TaiSanHGD> CTTS_GetAllChiTiet_TaiSanHGD();
         ChiTiet_TaiSanHGD CTTS_GetChiTiet_TaiSanHGDByID(int pCtts);
         ChiTiet_TaiSanHGD CTTS_GetChiTiet_TaiSanHGDByIDAndIdHN(int pCtts, string IDHoNgheo);
         void Ctts_NewChiTiet_TaiSanHGD(ChiTiet_TaiSanHGD pCtts);
         void Ctts_EditChiTiet_TaiSanHGD(ChiTiet_TaiSanHGD pCtts);
         void Ctts_DelOrResChiTiet_TaiSanHGD(int pCtts);
        #endregion

        #region ChiTiet_ThuNhapHoGD

         List<ChiTiet_ThuNhapHoGD> CTTNHGD_GetAllChiTiet_ThuNhapHoGD();
         List<ChiTiet_ThuNhapHoGD> CTTNHGD_GetChiTiet_ThuNhapHoGDByIDHoNgheo(string idhongheo);
         ChiTiet_ThuNhapHoGD CTTNHGD_GetChiTiet_ThuNhapHoGDByID(int pCttnhgd);
         ChiTiet_ThuNhapHoGD CTTNHGD_GetChiTiet_ThuNhapHoGDByIDAndIDHN(int pCttnhgd, string IDHoNgheo);
         void Cttnhgd_NewChiTiet_ThuNhapHoGD(ChiTiet_ThuNhapHoGD pCttnhgd);
         void Cttnhgd_EditChiTiet_ThuNhapHoGD(ChiTiet_ThuNhapHoGD pCttnhgd);
         void Cttnhgd_DelOrResChiTiet_ThuNhapHoGD(int pCttnhgd);
        #endregion

        #region DanToc
         List<DanToc> DT_GetAllDanToc();
         DanToc DT_GetDanTocByID(int DtID);
        #endregion

        #region DoiTuongCoCong

         List<DoiTuongCoCong> DTCC_GetAllDoiTuongCoCong();
         List<DoiTuongCoCong> DTCC_GetDoiTuongCoCongByIDMdd(int IDMucDieuDuong);
         DoiTuongCoCong DTCC_GetDoiTuongCoCongByID(int pDtcc);
         void Dtcc_NewDoiTuongCoCong(DoiTuongCoCong pDtcc);
         void Dtcc_EditDoiTuongCoCong(DoiTuongCoCong pDtcc);
         void Dtcc_DelOrResDoiTuongCoCong(int pDtcc);
        #endregion

        #region GiaiPhap_KhacPhuc
         List<GiaiPhap_KhacPhuc> GPKP_GetAllGiaiPhap_KhacPhuc();
         GiaiPhap_KhacPhuc GPKP_GetGiaiPhap_KhacPhucByID(int GpID);
        #endregion

        #region HoNgheo

         List<HoNgheo> HN_GetAllHoNgheo();
         List<HoNgheo> HN_GetHoNgheoByPhuongID(int PhuongID);
         List<HoNgheo> HN_GetHoNgheoByQuanID(int QuanID);
         HoNgheo HN_GetHoNgheoByID(string pHn);
         void Hn_NewHoNgheo(HoNgheo pHn);
         void Hn_EditHoNgheo(HoNgheo pHn);
         void Hn_DelOrResHoNgheo(string pHn);
        #endregion

        #region LoaiChiTieu
         List<LoaiChiTieu> LCT_GetAllLoaiChiTieu();
         LoaiChiTieu LCT_GetLoaiChiTieuByID(int CtID);
        #endregion

        #region LoaiHinhKinhTe
         List<LoaiHinhKinhTe> LHKT_GetAllLoaiHinhKinhTe();
         LoaiHinhKinhTe LHKT_GetLoaiHinhKinhTeByID(int LhktID);
        #endregion

        #region MucDieuDuong
         List<MucDieuDuong> MDD_GetAllMucDieuDuong();
         MucDieuDuong MDD_GetMucDieuDuongByID(int MddID);
        #endregion

        #region NguoiCoCong
         List<NguoiCoCong> NCC_GetNguoiCoCongByPhuongID(int PhuongID);
         List<NguoiCoCong> NCC_GetNguoiCoCongByQuanID(int QuanID);
         List<NguoiCoCong> NCC_GetAllNguoiCoCong();
         NguoiCoCong NCC_GetNguoiCoCongByID(string pNcc);
         void Ncc_NewNguoiCoCong(NguoiCoCong pNcc);
         void Ncc_EditNguoiCoCong(NguoiCoCong pNcc);
         void Ncc_DelOrResNguoiCoCong(string pNcc);
        #endregion

        #region NguyenNhan_ThuNhapThap

         List<NguyenNhan_ThuNhapThap> NNTNT_GetAllNguyenNhan_ThuNhapThap();
         NguyenNhan_ThuNhapThap NNTNT_GetNguyenNhan_ThuNhapThapByID(int pNntnt);
        #endregion

        #region NguyenVongKhacPhuc

         List<NguyenVongKhacPhuc> NVKP_GetAllNguyenVongKhacPhuc();
         NguyenVongKhacPhuc NVKP_GetNguyenVongKhacPhucByID(int pNvkp);
        #endregion

        #region PhuongXa

         List<PhuongXa> PX_GetAllPhuongXa();
         PhuongXa PX_GetPhuongXaByID(int pPx);
         List<PhuongXa> PX_GetPhuongByIDQuan(int pIdQuan);
        #endregion

        #region QuanHeGiaDinh

         List<QuanHeGiaDinh> QHGD_GetAllQuanHeGiaDinh();
         List<QuanHeGiaDinh> QHGD_GetQuanHeGiaDinhByHoNgheoID(string idhongheo);
         QuanHeGiaDinh QHGD_GetQuanHeGiaDinhByIsChuHo_HoNgheoID(string idhongheo);
         QuanHeGiaDinh QHGD_GetQuanHeGiaDinhByID(int pQhgd);
         void Qhgd_NewQuanHeGiaDinh(QuanHeGiaDinh pQhgd);
         void Qhgd_EditQuanHeGiaDinh(QuanHeGiaDinh pQhgd);
         void Qhgd_DelOrResQuanHeGiaDinh(int pQhgd);
        #endregion

        #region QuanHeThanhVien
         List<QuanHeThanhVien> QHTV_GetAllQuanHeThanhVien();
         QuanHeThanhVien QHTV_GetQuanHeThanhVienByID(int QhtvID);
        #endregion

        #region QuanHuyen
         List<QuanHuyen> QH_GetAllQuanHuyen();
         QuanHuyen QH_GetQuanHuyenByID(int QhID);
        #endregion

        #region TaiSan
         List<TaiSan> TS_GetAllTaiSan();
         TaiSan TS_GetTaiSanByID(int TsID);
        #endregion

        #region ThanNhan_NguoiCoCong

         List<ThanNhan_NguoiCoCong> TNNCC_GetAllTNNCC();
         List<ThanNhan_NguoiCoCong> TNNCC_GetThanNhan_NguoiCoCongByNguoiCoCongID(string IDNguoiCoCong);
         ThanNhan_NguoiCoCong TNNCC_GetThanNhan_NguoiCoCongByID(int pTnncc);
         void Tnncc_NewThanNhan_NguoiCoCong(ThanNhan_NguoiCoCong pTnncc);
         void Tnncc_EditThanNhan_NguoiCoCong(ThanNhan_NguoiCoCong pTnncc);
         void Tnncc_DelOrResThanNhan_NguoiCoCong(int pTnncc);
        #endregion

        #region TinhTrangViecLam
         List<TinhTrangViecLam> TTVL_GetAllTinhTrangViecLam();
         TinhTrangViecLam TTVL_GetTinhTrangViecLamByID(int TtvlID);
        #endregion

        #region USER

          List<USER> U_GetAllUSER();
          USER U_GetUSERByID(int pU);
          USER U_GetUSERByUserName(string pUName);
          USER U_GetUSERByUserNameAndPass(string pUName, string pPassWord);
          void U_NewUSER(USER pU);
          void U_EditUSER(USER pU);
          void U_DelOrResUser(int pU);
         #endregion
    }
}
